﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;



namespace Konyvkolcsonzo
{
    public partial class FmKolcs : FormKK
    {
        List<kolcsonzott> nevsor;
        Kolcsonzes k;
        enum kolcs {ki, be};

        public FmKolcs()
        {
            InitializeComponent();
            this.pnlLeft.Controls.Add(txbKereses);
            this.pnlLeft.Controls.Add(lvwKolcsonzesek);
            this.pnlLeft.Controls.Add(dtpDatumBe);
            this.pnlLeft.Controls.Add(dtpDatumKi);
            this.pnlLeft.Controls.Add(menuStrip1);
            this.pnlLeft.Controls.Add(btnSzures);
            this.pnlLeft.Controls.Add(cmbDatum);
            this.pnlLeft.Controls.Add(label1);
            this.pnlLeft.Controls.Add(label2);
            nevsor = new List<kolcsonzott>();
            k = new Kolcsonzes();
        }

        private void txbKereses_TextChanged(object sender, EventArgs e)
        {
            Populate();
        }

        private void FmKolcs_Load(object sender, EventArgs e)
        {
            Populate();
        }

        private void Populate() {
            lvwKolcsonzesek.Items.Clear();
            nevsor = k.getKolcsonzesek(txbKereses.Text);
            for (int i = 0; i < nevsor.Count; i++)
            {
                ListViewItem sor = new ListViewItem(Convert.ToString(nevsor[i].id));
                sor.SubItems.Add(Convert.ToString(nevsor[i].kolcsId));
                sor.SubItems.Add(Convert.ToString(nevsor[i].nev));
                sor.SubItems.Add(Convert.ToString(nevsor[i].cim));
                sor.SubItems.Add(Convert.ToString(nevsor[i].peld));
                sor.SubItems.Add(Convert.ToString(nevsor[i].dat1));
                sor.SubItems.Add(Convert.ToString(nevsor[i].dat2));
                lvwKolcsonzesek.Items.Add(sor);
            }

            if (lvwKolcsonzesek.SelectedItems.Count == 0 && lvwKolcsonzesek.Items.Count > 0)
            {
                lvwKolcsonzesek.Items[0].Selected = true;
            }

            cmbDatum.Items.AddRange(new string[] {"Kölcsönzés",  "Visszahozás"});
            cmbDatum.SelectedIndex = 0;

            dtpDatumBe.MaxDate = DateTime.Now;
            dtpDatumKi.MaxDate = DateTime.Now;

            btnSzures.Visible = false;
            cmbDatum.Visible = false;
            dtpDatumBe.Visible = false;
            dtpDatumKi.Visible = false;
        }

        private void Populate2()
        {
            lvwKolcsonzesek.Items.Clear();
            if (cmbDatum.Text.ToLower() == "kölcsönzés")
            {
                nevsor = k.getKolcsonzesKi(dtpDatumKi.Value.Year + "." + dtpDatumKi.Value.Month + "." + dtpDatumKi.Value.Day, dtpDatumBe.Value.Year + "." + dtpDatumBe.Value.Month + "." + dtpDatumBe.Value.Day);
            }
            else
            {
                nevsor = k.getKolcsonzesBe(dtpDatumKi.Value.Year + "." + dtpDatumKi.Value.Month + "." + dtpDatumKi.Value.Day, dtpDatumBe.Value.Year + "." + dtpDatumBe.Value.Month + "." + dtpDatumBe.Value.Day);
            }
            for (int i = 0; i < nevsor.Count; i++)
            {
                ListViewItem sor = new ListViewItem(Convert.ToString(nevsor[i].id));
                sor.SubItems.Add(Convert.ToString(nevsor[i].kolcsId));
                sor.SubItems.Add(Convert.ToString(nevsor[i].nev));
                sor.SubItems.Add(Convert.ToString(nevsor[i].cim));
                sor.SubItems.Add(Convert.ToString(nevsor[i].peld));
                sor.SubItems.Add(Convert.ToString(nevsor[i].dat1));
                sor.SubItems.Add(Convert.ToString(nevsor[i].dat2));
                lvwKolcsonzesek.Items.Add(sor);
            }

            if (lvwKolcsonzesek.SelectedItems.Count == 0 && lvwKolcsonzesek.Items.Count > 0)
            {
                lvwKolcsonzesek.Items[0].Selected = true;
            }
        }

        private void teljesToolStripMenuItem_Click(object sender, EventArgs e)
        {
            btnSzures.Visible = false;
            cmbDatum.Visible = false;
            dtpDatumBe.Visible = false;
            dtpDatumKi.Visible = false;
            label1.Visible = true;
            label2.Visible = true;
        }

        private void időszakToolStripMenuItem_Click(object sender, EventArgs e)
        {
            btnSzures.Visible = true;
            cmbDatum.Visible = true;
            dtpDatumKi.Visible = true;
            dtpDatumBe.Visible = true;
            txbKereses.Visible = false;
            label1.Visible = false;
            label2.Visible = false;
        }

        private void btnSzures_Click(object sender, EventArgs e)
        {
            Populate2();   
        }

        private void dtpDatumBe_ValueChanged(object sender, EventArgs e)
        {
            dtpDatumKi.MaxDate = dtpDatumBe.Value;
        }

        private void legtöbbetKölcsönzöttToolStripMenuItem_Click(object sender, EventArgs e)
        {
            MessageBox.Show("A legtöbbet kölcsönzött könyv: " + k.getKonyv(),"Gyakoriság", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }

        private void legtöbbetKölcsönzőToolStripMenuItem_Click(object sender, EventArgs e)
        {
            MessageBox.Show("A legtöbbet kölcsönző felhasználó: " + k.getFelhasznalo(), "Gyakoriság", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }





    }
}

